Skip to content

feat(toolsearch): make the cellular identifier triad discoverable by sim/cellular#97

Merged
xunholy merged 1 commit into
mainfrom
feat/cellular-search-synonyms
Jun 24, 2026
Merged

feat(toolsearch): make the cellular identifier triad discoverable by sim/cellular#97
xunholy merged 1 commit into
mainfrom
feat/cellular-search-synonyms

Conversation

@xunholy

@xunholy xunholy commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Summary

Makes the cellular identifier triad (iccid_decode SIM serial, imsi_decode subscriber, imei_decode device) discoverable by the family terms an operator types — "sim" and "cellular". The triad's own docs frame it as the identity set a SIM-swap / forensic-seizure / IMSI-catcher engagement enumerates, but a probe against the live tool_search handler showed these returned none of it (the legs only matched by acronym):

query now surfaces
decode this sim iccid_decode
cellular identifiers imei_decode (+ imsi/iccid)
sim swap forensics iccid_decode

Same family-discoverability pattern as the v0.729 automotive and v0.738 financial clusters.

How

Adds to internal/toolsearch:

  • sim → iccid, imsi
  • cellular → imei, imsi, iccid, gsmtap
  • imsi → imsi, iccid

Both new tokens are telecom-specific (low collision); verified simulate a button press / similar tools surface no cellular decoder.

Known limitation (documented in the test): sim card number stays dominated by the broad card cluster (nfc/mifare/emv) — a legitimate card interpretation — so the triad ranks just out of its top results there. The family is reachable via the phrasings above, which is the win this locks in.

Verification

  • New regression test TestToolSearch_CellularObliqueDiscoverability pins the three recovered queries; existing discoverability tests pass.
  • task test — full short suite, 398 ok / 0 fail; task eval 12/12; golangci-lint 0 issues; go vet clean; go build ./... clean.

…"sim" / "cellular"

The cellular identifier triad — iccid_decode (SIM serial), imsi_decode
(subscriber), imei_decode (device) — is framed in its own docs as the
identity set a SIM-swap / forensic-seizure / IMSI-catcher engagement
enumerates, but the family terms an operator actually types didn't reach
it. A probe against the live tool_search handler showed "decode this sim",
"cellular identifiers", and "sim swap forensics" surfaced NONE of the
triad: the leg names only matched by acronym ("imei", "imsi") while "sim"
and "cellular" matched nothing. Same family-discoverability gap the
v0.729 automotive and v0.738 financial synonym clusters fixed.

Adds a cellular synonym cluster to internal/toolsearch:
- "sim"      -> iccid, imsi
- "cellular" -> imei, imsi, iccid, gsmtap
- "imsi"     -> imsi, iccid

Both new query tokens are telecom-specific (low collision); a probe
confirmed "simulate a button press" and "similar tools" surface no
cellular decoder.

Known limitation (documented in the test): "sim card number" stays
dominated by the broad "card" cluster (nfc/mifare/emv) — a legitimate
card interpretation — so the triad ranks just out of its top results
there. The family is reachable via "decode this sim" / "cellular
identifiers" / "sim swap", which is the win this locks in.

Verification: a new regression test (TestToolSearch_CellularOblique
Discoverability) pins the three recovered queries; existing discoverability
tests still pass. task test (full short suite) 398 ok / 0 fail; task eval
12/12; golangci-lint 0 issues; go vet clean; go build ./... clean.

Wired: internal/toolsearch/search.go, internal/tools/tool_search_test.go.
@xunholy xunholy merged commit 1a98a5b into main Jun 24, 2026
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant